#ifndef _MFG_STACK_H
#define _MFG_STACK_H

/* INCLUDE */
#include "../mfg.h"

/* MACRO */


/* typdef */

typedef enum
{
  Mfg_Device_Denied,
  Mfg_Device_Join,
  Mfg_Report_Sent,
}mfgMsgType_t;

typedef struct
{
  void* next;
  mfgMsgType_t type;
  uint8_t size;
  uint8_t data[];
}mfgMsgHdr_t;

/* function */
extern void MFG_InitCallback(void);
extern void MFG_PeriodCallback(void);

extern void MFG_StackInit(uint8 destTaskId);
extern uint8_t MFG_TaskId(void);
extern mfgMsgHdr_t* MFG_CreatMsg(mfgMsgType_t type, uint8_t size);
extern void MFG_SendMsg(mfgMsgHdr_t* pMsg);
extern mfgMsgHdr_t* MFG_GetMsg(void);

//extern uint8_t MFG_StartScan()


#endif
